Skip to content

内存模块总览 - Overview

本分类做什么

目标进程搜索 特征数据、按地址读写 标量与缓冲区,并提供 类型转换、模块基址、远程 API、Hook、虚拟内存 等扩展。与 DMA物理侧/设备侧 读写互补:本分类以 逻辑地址与进程上下文 为主(权限与保护策略仍受限)。


一、搜索类:Find* 系列

模式接口形态差异
整数FindInt / FindIntExEx 通常带 步进/范围/多结果 等扩展(见各页)。
浮点FindFloat / FindFloatEx同上。
双精度FindDouble / FindDoubleEx同上。
字符串FindString / FindStringEx编码与结束符处理见详情页。
二进制FindData / FindDataEx特征码/数组模式搜索。

选型:不确定对齐方式 → 优先 Ex 并设步进;已知唯一特征 → 非 Ex 可能更简单。


二、读取类:Read*(Addr 后缀含义)

命名含义
ReadInt / ReadFloat / …默认约定 读(句柄/进程由上下文决定,见详情页)。
ReadIntAddr 等带 Addr显式 目标地址 参数,适合已有指针场景。
ReadData / ReadDataAddr原始字节块
ReadDataToBin / ReadDataAddrToBin读到 二进制缓冲区(与 FreeMemoryPtr 等配对)。

差异Addr 变体强调 绝对地址;非 Addr 可能结合 当前绑定窗口/进程 解释 hwnd(与 SetMemoryHwndAsProcessId 联动)。


三、写入类:Write*

类型接口
标量WriteIntAddrWriteFloat
缓冲WriteDataWriteDataAddrWriteDataFromBinWriteDataAddrFromBin

注意:写 可执行页/受保护页 常需先 VirtualProtectEx;错误写入会导致 目标崩溃


四、地址与转换辅助

接口用途
Int32ToInt64 / Int64ToInt32句柄/指针宽窄转换。
StringToDataFloatToDataDoubleToData与搜索模式或写入缓冲互转。

五、模块与远程调用

接口差异
GetModuleBaseAddrGetModuleSize取模块 基址与大小,用于偏移计算。
GetRemoteApiAddress解析 远程进程 中 API 地址。
HookRemoteApi / UnhookRemoteApi远程 Hook(高风险,需理解调用约定)。

六、虚拟内存

接口说明
VirtualAllocExVirtualFreeExVirtualProtectExVirtualQueryEx在目标进程 分配/释放/改保护/查询 内存块。

七、全局开关

接口说明
SetMemoryHwndAsProcessId将后续接口中的 hwnd 解释为 PID(或反之,以详情页为准),改变所有内存 API 的句柄语义

八、与 DMA 的快速对比

场景优先
普通用户态进程、有合法句柄内存 分类
虚拟机/物理内存采集卡、绕过部分用户态限制DMA 分类

九、快速选型

需求建议
特征码找地址FindDataEx → 得到地址 → Read* 验证
改某偏移血量GetModuleBaseAddr + 偏移 + WriteInt
Hook 远程 APIGetRemoteApiAddress + HookRemoteApi(慎用)